package com.gshrms.org.mapper;

import java.util.List;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.gshrms.org.domain.OrgRoleStaff;
import com.gshrms.org.domain.dto.OrgRoleStaffJoinDto;
import io.lettuce.core.dynamic.annotation.Param;
import org.apache.ibatis.annotations.Mapper;

/**
 * 组织角色员工Mapper接口
 *
 * @author ruoyi
 * @date 2024-12-03
 */
@Mapper
public interface OrgRoleStaffMapper extends BaseMapper<OrgRoleStaff>
{

    /**
     * 查询组织角色员工列表
     *
     * @param orgRoleStaff 组织角色员工
     * @return 组织角色员工集合
     */
    public List<OrgRoleStaff> selectOrgRoleStaffList(OrgRoleStaff orgRoleStaff);

    /**
     * 查询组织角色员工列表
     *
     * @param orgId 组织角色员工主键
     * @return 组织角色员工集合
     */
    public List<OrgRoleStaffJoinDto> selectOrgRoleStaffJoinListByOrgId(Long orgId);

    /**
     * 新增组织角色员工
     *
     * @param orgRoleStaff 组织角色员工
     * @return 结果
     */
    public int insertOrgRoleStaff(OrgRoleStaff orgRoleStaff);

    /**
     * 新增组织角色员工
     *
     * @param orgRoleStaffList 组织角色员工
     * @return 结果
     */
    public int batchOrgRoleStaff(List<OrgRoleStaff> orgRoleStaffList);

    /**
     * 删除组织角色员工
     *
     * @param orgId 组织角色员工主键
     * @return 结果
     */
    public int deleteOrgRoleStaffByOrgId(@Param("orgId") Long orgId);

    /**
     * 删除组织角色员工
     *
     * @param orgId 组织角色员工主键
     * @return 结果
     */
    public int deleteOrgRoleStaffByOrgIdAndRoleId(@Param("orgId") Long orgId, @Param("roleId") Long roleId);
}